var express = require('express')
var router = express.Router()
//导入 用户的模型
const UserModel = require('../../models/UserModel')
const md5 = require('md5')
//导入jwt
const jwt = require('jsonwebtoken')


// 登录操作
router.post('/login', async (req, res) => {
    // 查询数据库
    // 从请求体中解构出account、password
    const { name, password} = req.body
    
    try {
        // 在数据库中查询该数据，查询密码是md5加密后的
        const data = await UserModel.findOne({
            name,
            password: md5(password),
        })
        // 如果没查到，返回错误
        if (!data) {
            res.json({
                code: '2002',
                msg: '用户名或密码错误',
                data: null,
                status: false,
            })
            return
        }
        // 创建当前用户的 token
        let token = jwt.sign(
            {
                // 数据
                username: data.username,
                _id: data._id,
            },
            'shusq',
            {
                // 加密字符串
                expiresIn: 60 * 60 * 24 * 7, // 过期时间 单位是秒
            }
        )

        // 响应 token
        res.json({
            code: '0000',
            msg: '登录成功',
            data: { token: token, name: data.name,roleId:data.roleId },
            status: true,
        })
    } catch (error) {
        // 查询数据失败，返回提示
        res.json({
            code: '2001',
            msg: '数据库读取失败',
            data: null,
            status: false,
        })
    }
})

//退出登录
router.post('/logout', (req, res) => {
    //销毁 session
})


module.exports = router
